package com.gaxy.auth.domain.service;


import cn.dev33.satoken.stp.SaTokenInfo;
import com.gaxy.auth.domain.entity.AuthUserBO;

/**
 * 用户领域Service
 */
public interface AuthUserDomainService {

    /**
     * 用户注册
     * @param authUserBO
     * @return
     */
    Boolean register(AuthUserBO authUserBO);

    /**
     * 修改用户信息
     * @param authUserBO
     * @return
     */
    Boolean update(AuthUserBO authUserBO);

    /**
     * 删除用户
     * @param authUserBO
     * @return
     */
    Boolean delete(AuthUserBO authUserBO);

    /**
     * 用户登录
     * @param verificationCodeKey
     * @return
     */
    SaTokenInfo doLogin(String verificationCodeKey);

    /**
     * 获取用户信息
     * @param authUserBO
     * @return
     */
    AuthUserBO getUserInfo(AuthUserBO authUserBO);
}
